updated tantek.com/relmeauth @CSSWG meeting to demo :-moz-ui-invalid, :-moz-ui-valid, and :user-changed polyfilled to work while modifying the input (typing, paste, etc.) before clicking outside.
Note that :-moz-ui-invalid already only triggers *after* the user leaves the input, thus acting as a warning to the user that they need to go back and fix something, instead of interrupting them while they're typing.
However for the valid case, as soon as the user has entered something valid, you want to give them positive feedback thus letting them know they can take the next step (leave the input, submit the form, etc.).
References:
* alistapart.com/article/inline-validation-in-web-forms
* alistapart.com/article/forward-thinking-form-validation
* alistapart.com/d/forward-thinking-form-validation/enhanced_2.html
* https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-ui-invalid
* https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-ui-valid